package com.hulk.dryad.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hulk.dryad.persistence.entity.RoleMenuModel;
import com.hulk.dryad.persistence.entity.SysRoleModel;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author kim
 * @since 2017-10-29
 */
public interface SysRoleService extends IService<SysRoleModel> {

	/**
	 * 通过用户ID，查询角色信息
	 * @param userId
	 * @return
	 */
	List<SysRoleModel> findRolesByUserId(Long userId);

	/**
	 *查询全部角色信息
	 * @return
	 */
	List<SysRoleModel> findAllRole();

	/**
	 * 根据角色ID 查询角色列表
	 * @param roleIdList 角色ID列表
	 * @param key 缓存key
	 * @return
	 */
	List<SysRoleModel> findRolesByRoleIds(List<Integer> roleIdList, String key);
	/**
	 * 插入角色
	 * @param model
	 * @return
	 */
	Boolean	saveRole(SysRoleModel model);
	/**
	 * 通过角色ID，修改角色
	 * @param model
	 * @return
	 */
	Boolean updateRoleById(SysRoleModel model);

	/**
	 * 通过角色ID，删除角色
	 * @param id
	 * @return
	 */
	Boolean removeRoleById(Integer id);

	/**
	 * 根据角色菜单列表
	 * @param RoleMenuModel 角色&菜单列表
	 * @return
	 */
	Boolean updateRoleMenus(RoleMenuModel RoleMenuModel);



}
